Skip to content

Sprint 3.5 — Hard-reload state survival#77

Merged
KevinBigham merged 2 commits into
mainfrom
goal/sprint-3-5-hard-reload-survival
May 15, 2026
Merged

Sprint 3.5 — Hard-reload state survival#77
KevinBigham merged 2 commits into
mainfrom
goal/sprint-3-5-hard-reload-survival

Conversation

@KevinBigham
Copy link
Copy Markdown
Owner

@KevinBigham KevinBigham commented May 15, 2026

Built on Sprint 3 / PR #76.

Summary

  • Persisted the allowed useGameStore shell fields to localStorage under mbd:game-store@v1.
  • Added AppBootGate to auto-load active saves via loadSaveSafely -> worker.importSnapshot -> initializeGame before AppLayout redirects.
  • Added missing-save fallback, corrupt-save Save Recovery handoff, focused tests, progress log, STATUS.md, and screenshot evidence.

Validation

  • PATH=/Users/tkevinbigham/.local/node-lts/bin:$PATH pnpm --filter @mbd/web test src/shared/hooks/useGameStore.test.ts src/app/boot/AppBootGate.test.tsx src/app/App.test.tsx
  • PATH=/Users/tkevinbigham/.local/node-lts/bin:$PATH pnpm typecheck
  • PATH=/Users/tkevinbigham/.local/node-lts/bin:$PATH pnpm test
  • PATH=/Users/tkevinbigham/.local/node-lts/bin:$PATH pnpm build
  • PATH=/Users/tkevinbigham/.local/node-lts/bin:$PATH pnpm --filter @mbd/web dev, then browser hard reload smoke for /dashboard, /news, /roster, /trade, /draft, missing-save fallback, corrupt-save recovery, and 375x667 dashboard reload.

Evidence

  • STATUS.md
  • .logs/goal-progress.md
  • apps/web/docs/screenshots/sprint-3-5/

Goal Packet v2.0 format. Single-mission contract for Codex.

Mission: persist useGameStore active-save metadata to localStorage via
Zustand persist middleware, then auto-load the active save on app boot
before AppLayout's isInitialized guard fires. Hard reload at any
in-game route renders that route instead of redirecting to Save Hub.

Read-first, allowed-write, protected scope, non-negotiables, milestone
loop, validation loop, evaluator-visible proof, pause conditions, done
criteria, and final report all encoded inline.

Built on top of Sprint 3 (PR #76); rebase onto main after that merges.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@KevinBigham KevinBigham force-pushed the goal/sprint-3-5-hard-reload-survival branch from e587bed to 92f15ae Compare May 15, 2026 01:20
Co-Authored-By: Codex GPT-5 <noreply@openai.com>
@KevinBigham KevinBigham changed the title Sprint 3.5 — Hard-reload state survival (Codex handoff) Sprint 3.5 — Hard-reload state survival May 15, 2026
@KevinBigham KevinBigham marked this pull request as ready for review May 15, 2026 02:15
@KevinBigham KevinBigham merged commit 93b3f5b into main May 15, 2026
1 check passed
@KevinBigham KevinBigham deleted the goal/sprint-3-5-hard-reload-survival branch May 15, 2026 02:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants